1. Field of the Disclosure
The present disclosure relates generally to a compiling technique, and more particularly, to a compiler that converts a source program (or, source code) into an object program (or object code).
2. Description of the Related Art
Recently, a shader programming language is widely used to program (or code) a programmable rendering pipeline of a Graphics Processing Unit (GPU) in computer graphics fields. The programmable rendering pipeline (e.g., referred to as a GPU architecture) includes a plurality of programmable cores (e.g., a vertex shader, a rasterizer, a fragment shader, raster operations, etc). However, since a shader program (i.e., a program that is coded using a shader programming language) is usually programmed without regard to hardware, duplicate values or constant values are frequently applied to variables (i.e., referred to as varying variables). That is, data channels of the varying variables are unnecessarily formed among the programmable cores. Thus, increased power consumption and/or performance degradation of the graphics processing unit are caused as the varying variables are unnecessarily stored and loaded in the programmable cores.